arm64: KVM: Tighten guest core register access from userspace
authorDave Martin <Dave.Martin@arm.com>
Thu, 27 Sep 2018 15:53:21 +0000 (16:53 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 7 Oct 2018 20:57:06 +0000 (21:57 +0100)
commitaeca19127919475b16a3340c4eed0bfb3c374436
treecae073a57c5f1ff07baa572fa5fbdcc609b4e1f9
parente84022eaba5b80ee7f66e74bc0158dcf0c254d8b
arm64: KVM: Tighten guest core register access from userspace

We currently allow userspace to access the core register file
in about any possible way, including straddling multiple
registers and doing unaligned accesses.

This is not the expected use of the ABI, and nobody is actually
using it that way. Let's tighten it by explicitly checking
the size and alignment for each field of the register file.

Cc: <stable@vger.kernel.org>
Fixes: 2f4a07c5f9fe ("arm64: KVM: guest one-reg interface")
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
[maz: rewrote Dave's initial patch to be more easily backported]
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Gbp-Pq: Topic bugfix/arm64
Gbp-Pq: Name arm64-kvm-tighten-guest-core-register-access-from-us.patch
arch/arm64/kvm/guest.c